/**
 * 实现UDP广播服务的服务端
 */

var dgram = require("dgram");
var HOST = '127.0.0.1';
var PORT = 12346;

/**
 * 创建UDP服务器
 */

console.log('创建一个UDP服务器');
console.info();


/**
 * 使用dgram.createSocket()方法创建
 */
var server = dgram.createSocket('udp4');

/**
 * 为UDP服务器添加一个listening事件处理函数
 */
server.on('listening',function(){
    var address = server.address();
    console.log('UDP Server Listening on ' + address.address + ':' + address.port);
    console.info();
})

/**
 * 为UDP服务器添加一个message事件处理函数
 */
server.on('message',function(msg,remote){
    console.log('UDP Server received from ' + remote.address + ':' + remote.port);
    console.log('-' + msg);
    server.close();
})

/**
 * 为UDP服务器添加一个error事件处理函数
 */

server.on('error',function(err){
    console.log('出错了');
    server.close();
})

/**
 * 为UDP服务器添加一个close 事件处理函数
 */

server.on('close',function(){
    console.log('server close!!!');
    console.info();
})

/**
 * 为UDP服务器绑定主机与端口
 */

server.bind(PORT);